package com.supplychainapi.service.phone.cust;

import com.joindata.inf.common.basic.exceptions.ServiceException;
import com.supplychainapi.model.ScmTbcust;
import com.supplychainapi.model.ScmTbcustExtend;

import java.util.List;

/**
 * Created by shenhong on 2017/10/14.
 */
public interface IScmTbcustPhoneService {
    /**
     * 新增客户信息
     * @param cust
     * @throws ServiceException
     */
    void addScmTbcustPhoneInfo(ScmTbcust cust) throws ServiceException;


    /**
     * 更新客户信息
     * @param cust
     * @throws ServiceException
     */
    void updateScmTbcustPhoneInfo(ScmTbcust cust) throws ServiceException;

    ScmTbcustExtend getCustPhoneInfo(String fsCustId) throws ServiceException;


    ScmTbcust getCustByFsShopGUIDPhoneList(String fsShopGUID, String fsCustId) throws ServiceException;

    void deleteCustPhoneInfo(List<String> fsCustIdList, List<String> fsShopGUIDList) throws ServiceException;

    List<ScmTbcust> getByKeyWordCustInfoPhoneList(String keyWord, Integer page, Integer pageSize) throws ServiceException;

    List<ScmTbcust> getCustPhoneListInfo(String fsShopGUID, String fsNodeCode, Integer page, Integer pageSize) throws ServiceException;

    /**
     * 根据供应商名称模糊查询供应商信息
     * @param fsShopGUID
     * @param fsCustName
     * @param page
     * @param pageSize
     * @return
     * @throws ServiceException
     */
    List<ScmTbcust> getCustPhoneByFsCustNameListInfo(String fsShopGUID, String fsCustName, Integer page, Integer pageSize) throws ServiceException;

    List<ScmTbcustExtend> getCustAllPhoneListInfo(String fsShopGUID, Integer page, Integer pageSize) throws ServiceException;

    Boolean getCustNameIsExit(String fsShopGUID, String fsCustName, String fsCustId, String type) throws ServiceException;


    List<ScmTbcust> getCustParentAllPhoneListInfo(String fsShopGUID, String fsNodeCode, Integer page,
                                                  Integer pageSize) throws ServiceException;
}
